package com.sup.sale.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sup.common.annotation.Excel;
import com.sup.common.core.domain.BaseEntity;

/**
 * 销售对象 sales_table
 * 
 * @author ruoyi
 * @date 2025-06-25
 */
public class SalesTable extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @Excel(name = "id")
    private Long id;

    /** 销售单号 */
    @Excel(name = "销售单号")
    private Long salesOrderNumber;

    /** 销售机器编号id */
    @Excel(name = "销售机器编号id")
    private Long salesMachineNumberId;

    /** 商品编号id（商品信息，商品名称，价格 */
    @Excel(name = "商品编号id", readConverterExp = "商品编号id（商品信息，商品名称，价格")
    private Long salesProductId;

    /** 商品数量（商品数量多等场景，收银员可以通过前端修改 */
    @Excel(name = "商品数量", readConverterExp = "商品数量（商品数量多等场景，收银员可以通过前端修改")
    private Long salesProductQuantity;

    /** 出售单价价格（实际出售价格，销售人员可以临时修改价格（场景为批量出售时， */
    @Excel(name = "出售单价价格", readConverterExp = "出售单价价格（实际出售价格，销售人员可以临时修改价格（场景为批量出售时，")
    private Double salesSellingPrice;

    /** 出售的总金额 */
    @Excel(name = "出售的总金额")
    private Double salesTotal;

    /** 会员号 */
    @Excel(name = "会员号")
    private String salesMember;

    /** 出售单号时间（精确到秒 */
    @Excel(name = "出售单号时间", readConverterExp = "出售单号时间（精确到秒")
    private Date salesSellingTime;

    /** 收银员的编号id */
    @Excel(name = "收银员的编号id")
    private Long salesCashierId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date salesCreationTime;

    /** 创建人的信息（收银员的id */
    @Excel(name = "创建人的信息", readConverterExp = "创建人的信息（收银员的id")
    private Long salesCreatorId;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date salesModificationTime;

    /** 修改人（默认为收银人的id */
    @Excel(name = "修改人", readConverterExp = "修改人（默认为收银人的id")
    private Long salesModifierId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSalesOrderNumber(Long salesOrderNumber) 
    {
        this.salesOrderNumber = salesOrderNumber;
    }

    public Long getSalesOrderNumber() 
    {
        return salesOrderNumber;
    }
    public void setSalesMachineNumberId(Long salesMachineNumberId) 
    {
        this.salesMachineNumberId = salesMachineNumberId;
    }

    public Long getSalesMachineNumberId() 
    {
        return salesMachineNumberId;
    }
    public void setSalesProductId(Long salesProductId) 
    {
        this.salesProductId = salesProductId;
    }

    public Long getSalesProductId() 
    {
        return salesProductId;
    }
    public void setSalesProductQuantity(Long salesProductQuantity) 
    {
        this.salesProductQuantity = salesProductQuantity;
    }

    public Long getSalesProductQuantity() 
    {
        return salesProductQuantity;
    }
    public void setSalesSellingPrice(Double salesSellingPrice) 
    {
        this.salesSellingPrice = salesSellingPrice;
    }

    public Double getSalesSellingPrice() 
    {
        return salesSellingPrice;
    }
    public void setSalesTotal(Double salesTotal) 
    {
        this.salesTotal = salesTotal;
    }

    public Double getSalesTotal() 
    {
        return salesTotal;
    }
    public void setSalesMember(String salesMember) 
    {
        this.salesMember = salesMember;
    }

    public String getSalesMember() 
    {
        return salesMember;
    }
    public void setSalesSellingTime(Date salesSellingTime) 
    {
        this.salesSellingTime = salesSellingTime;
    }

    public Date getSalesSellingTime() 
    {
        return salesSellingTime;
    }
    public void setSalesCashierId(Long salesCashierId) 
    {
        this.salesCashierId = salesCashierId;
    }

    public Long getSalesCashierId() 
    {
        return salesCashierId;
    }
    public void setSalesCreationTime(Date salesCreationTime) 
    {
        this.salesCreationTime = salesCreationTime;
    }

    public Date getSalesCreationTime() 
    {
        return salesCreationTime;
    }
    public void setSalesCreatorId(Long salesCreatorId) 
    {
        this.salesCreatorId = salesCreatorId;
    }

    public Long getSalesCreatorId() 
    {
        return salesCreatorId;
    }
    public void setSalesModificationTime(Date salesModificationTime) 
    {
        this.salesModificationTime = salesModificationTime;
    }

    public Date getSalesModificationTime() 
    {
        return salesModificationTime;
    }
    public void setSalesModifierId(Long salesModifierId) 
    {
        this.salesModifierId = salesModifierId;
    }

    public Long getSalesModifierId() 
    {
        return salesModifierId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("salesOrderNumber", getSalesOrderNumber())
            .append("salesMachineNumberId", getSalesMachineNumberId())
            .append("salesProductId", getSalesProductId())
            .append("salesProductQuantity", getSalesProductQuantity())
            .append("salesSellingPrice", getSalesSellingPrice())
            .append("salesTotal", getSalesTotal())
            .append("salesMember", getSalesMember())
            .append("salesSellingTime", getSalesSellingTime())
            .append("salesCashierId", getSalesCashierId())
            .append("salesCreationTime", getSalesCreationTime())
            .append("salesCreatorId", getSalesCreatorId())
            .append("salesModificationTime", getSalesModificationTime())
            .append("salesModifierId", getSalesModifierId())
            .toString();
    }
}
